import torch
# from inference.tts.fs import FastSpeechInfer
# from modules.tts.fs2_orig import FastSpeech2Orig
from inference.svs.base_svs_infer import BaseSVSInfer
from utils import load_ckpt
from utils.hparams import hparams
from usr.diff.shallow_diffusion_tts import GaussianDiffusion
from usr.diffsinger_task import DIFF_DECODERS
from modules.fastspeech.pe import PitchExtractor
import utils
from modules.fastspeech.tts_modules import LengthRegulator
import librosa
import numpy as np


class DiffSingerCascadeInfer(BaseSVSInfer):
    def build_model(self):
        model = GaussianDiffusion(
            phone_encoder=self.ph_encoder,
            out_dims=hparams['audio_num_mel_bins'], denoise_fn=DIFF_DECODERS[hparams['diff_decoder_type']](hparams),
            timesteps=hparams['timesteps'],
            K_step=hparams['K_step'],
            loss_type=hparams['diff_loss_type'],
            spec_min=hparams['spec_min'], spec_max=hparams['spec_max'],
        )
        model.eval()
        load_ckpt(model, hparams['work_dir'], 'model')
        return model
        
    def preprocess_phoneme_level_input(self, inp):
        ph_seq = inp['ph_seq']
        note_lst = inp['note_seq'].split()
        midi_dur_lst = inp['note_dur_seq'].split()
        is_slur = np.array(inp['is_slur_seq'].split(),'float')
        ph_dur = None
        f0_timestep = float(inp['f0_timestep'])
        f0_seq = None
        if inp['f0_seq'] is not None:
            f0_seq = np.array(inp['f0_seq'].split(),'float')
        if inp['ph_dur'] is not None:
            ph_dur = np.array(inp['ph_dur'].split(),'float')
            print(len(note_lst), len(ph_seq.split()), len(midi_dur_lst), len(ph_dur))
            if len(note_lst) == len(ph_seq.split()) == len(midi_dur_lst) == len(ph_dur):
                print('Pass word-notes check.')
            else:
                print('The number of words does\'t match the number of notes\' windows. ',
                  'You should split the note(s) for each word by | mark.')
                return None
        else:
            print(len(note_lst), len(ph_seq.split()), len(midi_dur_lst))
            if len(note_lst) == len(ph_seq.split()) == len(midi_dur_lst):
                print('Pass word-notes check.')
            else:
                print('The number of words does\'t match the number of notes\' windows. ',
                  'You should split the note(s) for each word by | mark.')
                return None
        
        return ph_seq, note_lst, midi_dur_lst, is_slur, ph_dur, f0_timestep, f0_seq
        
    def preprocess_input(self, inp, input_type='word'):
        """

        :param inp: {'text': str, 'item_name': (str, optional), 'spk_name': (str, optional)}
        :return:
        """

        item_name = inp.get('item_name', '<ITEM_NAME>')
        spk_name = inp.get('spk_name', 'opencpop')

        # single spk
        spk_id = self.spk_map[spk_name]

        # get ph seq, note lst, midi dur lst, is slur lst.
        if input_type == 'word':
            ret = self.preprocess_word_level_input(inp)
        elif input_type == 'phoneme':  # like transcriptions.txt in Opencpop dataset.
            ret = self.preprocess_phoneme_level_input(inp)
        else:
            print('Invalid input type.')
            return None

        if ret:
            if input_type == 'word':
                ph_seq, note_lst, midi_dur_lst, is_slur = ret
            else:
                ph_seq, note_lst, midi_dur_lst, is_slur, ph_dur, f0_timestep, f0_seq = ret
        else:
            print('==========> Preprocess_word_level or phone_level input wrong.')
            return None

        # convert note lst to midi id; convert note dur lst to midi duration
        try:
            midis = [librosa.note_to_midi(x.split("/")[0]) if x != 'rest' else 0
                     for x in note_lst]
            midi_dur_lst = [float(x) for x in midi_dur_lst]
        except Exception as e:
            print(e)
            print('Invalid Input Type.')
            return None

        ph_token = self.ph_encoder.encode(ph_seq)
        item = {'item_name': item_name, 'text': inp['text'], 'ph': ph_seq, 'spk_id': spk_id,
                'ph_token': ph_token, 'pitch_midi': np.asarray(midis), 'midi_dur': np.asarray(midi_dur_lst),
                'is_slur': np.asarray(is_slur), 'ph_dur': None, 'f0_timestep': 0., 'f0_seq': None}
        item['ph_len'] = len(item['ph_token'])
        if input_type == 'phoneme':
            item['ph_dur'] = ph_dur
            item['f0_timestep'] = f0_timestep
            item['f0_seq'] = f0_seq
        return item
    
    def input_to_batch(self, item):
        item_names = [item['item_name']]
        text = [item['text']]
        ph = [item['ph']]
        txt_tokens = torch.LongTensor(item['ph_token'])[None, :].to(self.device)
        txt_lengths = torch.LongTensor([txt_tokens.shape[1]]).to(self.device)
        spk_ids = torch.LongTensor(item['spk_id'])[None, :].to(self.device)

        pitch_midi = torch.LongTensor(item['pitch_midi'])[None, :hparams['max_frames']].to(self.device)
        midi_dur = torch.FloatTensor(item['midi_dur'])[None, :hparams['max_frames']].to(self.device)
        is_slur = torch.LongTensor(item['is_slur'])[None, :hparams['max_frames']].to(self.device)
        mel2ph = None
        log2f0 = None
        if item['ph_dur'] is not None:
            print('Using manual phone duration')
            ph_acc=np.around(np.add.accumulate(item['ph_dur'])*hparams['audio_sample_rate']/hparams['hop_size']+0.5).astype('int')
            ph_dur=np.diff(ph_acc,prepend=0)
            ph_dur = torch.LongTensor(ph_dur)[None, :hparams['max_frames']].to(self.device)
            lr=LengthRegulator()
            mel2ph=lr(ph_dur,txt_tokens==0).detach()
        else:
            print('Using automatic phone duration')
        
        if item['f0_timestep'] > 0. and item['f0_seq'] is not None:
            print('Using manual pitch curve')
            f0_timestep = item['f0_timestep']
            f0_seq = item['f0_seq']
            t_max = (len(f0_seq)-1)*f0_timestep
            dt = hparams['hop_size']/hparams['audio_sample_rate']
            f0_interp = np.interp(np.arange(0,t_max,dt), f0_timestep*np.arange(len(f0_seq)),f0_seq)
            log2f0 = torch.FloatTensor(np.log2(f0_interp))[None, :].to(self.device)
        else:
            print('Using automaic pitch curve')

        batch = {
            'item_name': item_names,
            'text': text,
            'ph': ph,
            'txt_tokens': txt_tokens,
            'txt_lengths': txt_lengths,
            'spk_ids': spk_ids,
            'pitch_midi': pitch_midi,
            'midi_dur': midi_dur,
            'is_slur': is_slur,
            'mel2ph': mel2ph,
            'log2f0': log2f0
        }
        return batch
        
    def forward_model(self, inp):
        sample = self.input_to_batch(inp)
        txt_tokens = sample['txt_tokens']  # [B, T_t]
        spk_id = sample.get('spk_ids')
        with torch.no_grad():
            output = self.model(txt_tokens, spk_id=spk_id, ref_mels=None, infer=True,
                                pitch_midi=sample['pitch_midi'], midi_dur=sample['midi_dur'],
                                is_slur=sample['is_slur'], mel2ph=sample['mel2ph'], f0=sample['log2f0'])
            mel_out = output['mel_out']  # [B, T,80]
            f0_pred = output['f0_denorm']
            wav_out = self.run_vocoder(mel_out, f0=f0_pred)
        wav_out = wav_out.cpu().numpy()
        return wav_out[0]


if __name__ == '__main__':
    inp = {
        "text": "SP 哥 哥 SP 哥 哥 AP 你 给 我 买 这 个 你 女 朋 友 知 道 了 SP 不 会 生 气 吧 AP 真 好 吃 SP 哥 你 尝 一 口 SP 哥 哥 AP 你 女 朋 友 要 是 知 道 我 俩 吃 一 SP 同 一 个 棒 棒 糖 你 女 朋 友 不 会 吃 醋 吧 AP 哥 哥 你 骑 着 小 SP 小 电 动 车 带 着 我 你 女 朋 友 知 道 了 SP 不 会 揍 我 吧 AP 好 可 怕 你 女 朋 友 SP 不 像 我 SP 我 只 会 心 疼 哥 啊 哥 啊 SP",
        "ph_seq": "SP g e g e SP g e g e AP n i g e w o m ai zh ei g e n i n v p eng y ou zh i d ao l e SP b u h ui sh eng q i b a SP zh en h ao ch i SP g e n i ch ang y i k ou SP g e g e e e AP n i n v p eng y ou y ao sh i zh i d ao w o l iang ch i y i SP t ong y i g e b ang b ang t ang n i n v p eng y ou b u h ui ch i c u b a a a a a AP g e g e n i q i zh uo x iao SP x iao d ian d ong ch e d ai zh uo w o n i n v p eng y ou zh i d ao l e SP b u h ui z ou w o b a AP h ao k e p a n i n v p eng y ou SP b u x iang w o SP w o zh i h ui x in t eng g i y e g i y e e e SP",
        "note_seq": "rest D#4 D#4 C4 C4 rest G4 G4 D4 D4 rest D4 D4 F4 F4 F4 F4 D4 D4 D4 D4 D4 D4 D4 D4 D4 D4 D4 D4 D4 D4 F4 F4 F4 F4 F4 F4 rest D4 D4 F4 F4 F4 F4 F4 F4 A3 A3 rest E4 E4 C4 C4 C4 C4 rest G4 G4 C4 C4 D4 D4 E4 E4 C4 C4 rest C5 C5 C5 C5 A4 F4 rest C5 C5 C5 C5 C5 C5 C5 C5 C5 C5 A#4 A#4 A#4 A#4 C5 C5 A#4 A#4 A4 A4 C5 C5 G#4 G#4 rest B4 B4 B4 B4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G#4 G4 G4 F4 F4 D#4 C4 A#3 G#3 rest D4 D4 C4 C4 C4 C4 E4 E4 F#4 F#4 C4 C4 rest C4 C4 F4 F4 E4 E4 E4 E4 F#4 F#4 D4 D4 B3 B3 E4 E4 F#4 F#4 E4 E4 F#4 F#4 F4 F4 F4 F4 C#4 C#4 rest G#4 G#4 B4 B4 A#4 A#4 F4 F4 F4 F4 rest A#4 A#4 G#4 G#4 A#4 A#4 G4 G4 G4 G4 E4 E4 D4 D4 rest C4 C4 A#3 A#3 G#3 G#3 rest D#4 D#4 C#4 C#4 D4 D4 G4 G4 G4 G4 E4 E4 E4 E4 E4 E4 E4 E4 D4 C4 rest",
        "note_dur_seq": "0.4583333 0.25 0.25 0.1666667 0.1666667 0.2916666 0.1666667 0.1666667 0.2083333 0.2083333 0.8750001 0.08333325 0.08333325 0.08333325 0.08333325 0.08333349 0.08333349 0.25 0.25 0.1666665 0.1666665 0.125 0.125 0.125 0.125 0.125 0.125 0.1041667 0.1041667 0.1666667 0.1666667 0.125 0.125 0.1458333 0.1458333 0.08333349 0.08333349 0.08333302 0.08333349 0.08333349 0.2083335 0.2083335 0.375 0.375 0.333333 0.333333 0.25 0.25 2.125 0.125 0.125 0.166667 0.166667 0.125 0.125 0.08333349 0.166666 0.166666 0.125 0.125 0.166667 0.166667 0.08333302 0.08333302 0.125 0.125 1.291667 0.291667 0.291667 0.166666 0.166666 0.08333397 0.08333302 0.791667 0.125 0.125 0.166666 0.166666 0.08333397 0.08333397 0.08333302 0.08333302 0.08333302 0.08333302 0.125 0.125 0.125 0.125 0.08333397 0.08333397 0.166666 0.166666 0.166667 0.166667 0.125 0.125 0.125 0.125 0.145833 0.166667 0.166667 0.125 0.125 0.125 0.125 0.104167 0.104167 0.08333302 0.08333302 0.125 0.125 0.125 0.125 0.166667 0.166667 0.08333302 0.08333302 0.145833 0.145833 0.08333397 0.08333397 0.291666 0.291666 0.354167 0.354167 0.3125 0.3125 0.0625 0.0625 0.0625 0.0625 0.08333302 0.08333397 0.833333 0.270834 0.270834 0.1875 0.1875 0.25 0.25 0.104166 0.104166 0.208334 0.208334 0.125 0.125 0.4583321 0.145834 0.145834 0.229166 0.229166 0.2291679 0.2291679 0.229166 0.229166 0.291666 0.291666 0.08333397 0.08333397 0.104166 0.104166 0.1041679 0.1041679 0.1875 0.1875 0.08333206 0.08333206 0.1875 0.1875 0.1041679 0.1041679 0.229166 0.229166 0.125 0.125 0.5 0.104166 0.104166 0.1666679 0.1666679 0.2083321 0.2083321 0.208334 0.208334 0.291666 0.291666 0.7291679 0.2708321 0.2708321 0.208334 0.208334 0.125 0.125 0.1875 0.1875 0.208334 0.208334 0.229166 0.229166 0.229166 0.229166 0.1875 0.2916679 0.2916679 0.3125 0.3125 0.4583321 0.4583321 0.270834 0.166666 0.166666 0.1666679 0.1666679 0.166666 0.166666 0.229166 0.229166 0.3125 0.3125 0.0625 0.0625 0.270834 0.270834 0.0625 0.0625 0.270834 0.270834 0.104166 0.229166 0.05",
        "is_slur_seq": "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0",
        "ph_dur": "0.398333 0.06 0.19 0.06 0.166667 0.216667 0.075 0.106667 0.06 0.208333 0.83 0.045 0.053334 0.03 0.053333 0.03 0.053334 0.03 0.175 0.075 0.140185 0.026481 0.08 0.045 0.08 0.045 0.08 0.045 0.074167 0.03 0.11887 0.047797 0.08 0.045 0.120832 0.025001 0.083333 0.038333 0.045 0.053333 0.03 0.121223 0.08711 0.255 0.12 0.273333 0.06 0.25 2.035 0.09 0.094341 0.030659 0.086668 0.079999 0.125 0.023333 0.06 0.121666 0.045 0.071647 0.053353 0.138932 0.027735 0.049297 0.034036 0.125 1.216667 0.075 0.186666 0.105 0.166666 0.083334 0.083333 0.746668 0.044999 0.08 0.045 0.106666 0.06 0.053335 0.029999 0.053332 0.030001 0.058332 0.025001 0.069697 0.055303 0.096569 0.028431 0.053333 0.030001 0.108162 0.058504 0.083734 0.082933 0.08 0.045 0.125 0.006268 0.139565 0.121667 0.045 0.08 0.045 0.08 0.045 0.074166 0.030001 0.053332 0.030001 0.088875 0.036125 0.08 0.045 0.106666 0.060001 0.053334 0.029999 0.100833 0.045 0.053335 0.029999 0.107224 0.184443 0.176946 0.177221 0.287498 0.025002 0.0625 0.0625 0.0625 0.083333 0.083334 0.773334 0.059999 0.210835 0.059999 0.1425 0.045 0.136473 0.113527 0.079165 0.025002 0.133333 0.075001 0.125 0.398333 0.059999 0.100834 0.045 0.184168 0.044998 0.154169 0.074999 0.169167 0.059999 0.216665 0.075001 0.053335 0.029999 0.05789 0.046276 0.067486 0.036682 0.127499 0.060001 0.053333 0.029999 0.094126 0.093374 0.074167 0.030001 0.169165 0.060001 0.125 0.455 0.045 0.074165 0.030001 0.106667 0.060001 0.163332 0.045 0.163336 0.044998 0.291666 0.669168 0.059999 0.180832 0.09 0.133335 0.074999 0.08 0.045 0.127501 0.059999 0.133333 0.075001 0.184168 0.044998 0.229166 0.127501 0.059999 0.201668 0.09 0.2675 0.045 0.458332 0.225834 0.045 0.106667 0.059999 0.121668 0.045 0.106667 0.059999 0.169167 0.059999 0.2675 0.045 0.032501 0.029999 0.210835 0.059999 0.047501 0.014999 0.270834 0.104166 0.229166 0.05",
        "f0_timestep": "0.005",
        "f0_seq": "333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.7 333.4 331.5 326.6 326. 325.6 325.2 325.2 324.8 324.1 323.4 322.8 322.7 322.7 322.4 322.2 321.8 322.2 323. 324.4 326.2 328.1 330.3 332.6 334.4 336.6 339. 341.2 342.8 344. 345. 345.4 342.7 335.9 327.1 318.4 311.5 306.3 303.3 302.5 304.3 306.8 309.2 311.6 314.1 316.5 318.9 321.3 323.8 323.6 322.1 321.4 321.5 320.9 320.2 318.8 316.3 313.5 311. 308.3 305.6 302.6 299.8 296.8 293.6 290.3 286.8 281.2 270.9 262.6 256.2 251.3 246.8 243.8 241. 238.3 234.9 231.7 229.4 227.3 224.9 222.1 220.7 218.4 218.9 221.1 223.4 225.7 227.9 230.2 232.5 234.8 237. 239.3 241.6 243.8 246.1 248.4 250.7 252.9 255.2 257.5 259.7 262. 264.3 266.5 268.8 271.1 273.4 275.6 277.9 280.2 282.4 284.7 287. 289.3 291.5 293.8 296.1 298.3 300.6 302.9 305.1 307.4 309.7 312. 314.2 316.5 318.8 321. 323.3 325.6 327.9 330.1 332.4 334.7 336.9 339.2 341.5 343.8 346.2 349.1 353.2 358.6 364.6 370.2 374.7 378.1 380.5 386.6 393.9 399.1 402.2 404.2 406.5 408.8 410.6 411.2 410.4 406.9 400.4 392.2 387. 379.8 368. 368. 380.7 381.9 387.3 392.7 398.1 403.5 408.9 413.1 410.8 398. 394.7 392.7 390. 387.7 386.9 386. 384.4 382.6 379.9 376.6 373.2 369.9 367.2 364.3 360.9 357.5 353.2 348.6 344.4 340.4 336.1 330. 318.1 307.2 299.8 294.6 288.7 282.6 277.3 273.3 268.6 264. 260.1 256.5 252.1 247. 241.9 239.8 239. 237.4 236.2 236.6 237. 237.5 237.9 238.3 238.7 239.1 239.5 239.9 240.3 240.7 241.2 241.6 242. 242.4 242.8 243.2 243.6 244. 244.4 244.9 245.3 245.7 246.1 246.5 246.9 247.3 247.7 248.1 248.5 249. 249.4 249.8 250.2 250.6 251. 251.4 251.8 252.2 252.7 253.1 253.5 253.9 254.3 254.7 255.1 255.5 255.9 256.4 256.8 257.2 257.6 258. 258.4 258.8 259.2 259.6 260.1 260.5 260.9 261.3 261.7 262.1 262.5 262.9 263.3 263.8 264.2 264.6 265. 265.4 265.8 266.2 266.6 267. 267.5 267.9 268.3 268.7 269.1 269.5 269.9 270.3 270.7 271.2 271.6 272. 272.4 272.8 273.2 273.6 274. 274.4 274.8 275.3 275.7 276.1 276.5 276.9 277.3 277.7 278.1 278.5 279. 279.4 279.8 280.2 280.6 281. 281.4 281.8 282.2 282.7 283.1 283.5 283.9 284.3 284.7 285.1 285.5 285.9 286.4 286.8 287.2 287.6 288. 288.4 288.8 289.2 289.6 290.1 290.5 290.9 291.3 291.7 292.1 292.5 292.9 293.3 293.8 294.2 294.6 295. 295.4 295.8 296.2 296.6 297. 297.4 297.9 298.3 298.7 299.1 299.5 299.9 300.3 300.7 301.1 301.6 302. 302.4 302.8 303.2 303.6 304. 304.4 304.8 305.3 305.7 306.1 306.5 306.9 307.3 307.7 308. 307.5 299.9 295.3 294.5 293.6 292.7 291.7 291.4 290. 287.5 284.9 281.1 276.1 272.9 269.4 263.9 261.1 259. 260.5 266.8 274.6 287.1 297.7 303.6 308.4 312.5 315.6 317.8 321. 324.3 327.7 330.4 332.4 334.2 336.5 339.3 341.8 343.1 344.3 344.8 344.9 344.6 344.9 346.5 348.5 348.8 349.2 349.4 348.3 347.5 346.2 344.2 344.3 345.9 348.9 351.1 350.3 347. 342.8 337. 331.3 326.9 323.1 318.4 311.7 304.9 298.2 291.5 284.8 278.1 272.6 270.6 268.3 266. 263.7 261.6 259.8 258.4 257.3 248.1 238.3 228.5 225. 226.1 228.5 235.5 236.6 237.6 244.9 254. 263.2 272.3 281.4 290.5 299.6 308.7 317.8 326.9 334.5 336.3 337.7 338.2 338.2 337.9 337.5 337. 336.5 336.1 335.6 335.1 334.8 334.1 332.7 331.3 330. 328.5 327.4 326.2 324.7 322.7 320.3 317.9 315.9 314.6 313.8 313.7 311.1 305. 298.9 292.8 286.7 280.6 274.5 268.4 263.9 263.2 266.2 265.9 264.8 263.8 261.9 259. 256.3 254.1 252.4 251.3 250.3 249.8 249.6 249.3 248.2 247.3 248. 247.2 246.3 246.8 248.1 248.5 251.7 257.2 263.3 267. 269.5 271.3 273.2 280.1 293.2 297.8 300.5 302.4 303.9 306.4 311.1 316.6 319.8 322. 323.8 325.7 327. 328.1 330. 330.8 331. 330.6 329.1 325.8 321.7 318.3 316.3 314. 310.8 306.6 301.3 295.1 292.4 289.1 277.3 262.3 253.6 251.2 248.7 246.2 244.8 242.8 240.4 240. 241. 242.1 243.2 244.2 245.3 246.4 247.4 248.5 249.6 250.6 251.7 252.8 258.3 263.9 267.4 267.7 269.8 279.7 284. 286.4 292.8 299.6 302.9 302.6 302.4 302.9 304. 305.2 306.4 307.5 308.8 310.9 313.7 314.1 314.2 313.6 310.9 305.8 302.3 297.4 293.6 290.2 287.5 284.7 279.9 273.8 274.6 275.5 276.3 277.1 277.9 278.7 279.5 280.4 281.2 282. 282.8 283.6 284.4 285.3 286.1 286.9 287.7 288.5 289.3 291. 293.6 294.9 295.2 295.3 294.8 292.5 289.1 286.4 290.4 294.5 298.5 302.5 306.5 310.6 314.6 319.1 332. 334.8 335.6 336. 336.3 336.4 335.9 335. 333.6 332.4 330.8 328.4 325. 321.2 318.2 315.4 313.3 311.3 309.5 308. 306.5 304.8 303.6 302.1 300.1 296.9 292.2 286.7 281.6 278.9 274.3 269.4 265.4 262.4 260. 258.2 255.9 253.1 249.9 247. 244.6 242.7 241. 237.7 229.1 226.6 227.8 231.5 235. 236.7 239.3 241.8 244.3 246.9 249.4 252. 254.5 257. 259.6 262.1 264.6 267.2 269.7 272.2 273.8 275. 276.2 276. 275. 273. 270.7 268.6 265.3 263.6 267.4 271.8 276.2 280.7 285.1 289.5 294. 298.4 301.1 305.2 310.6 312. 314.6 320.3 325.1 327.9 329.7 331. 331.4 331.7 331.6 330.5 327.7 320.3 309.3 300.4 296.9 294.8 296.7 299.6 302.6 305.6 308.6 311.6 314.6 317.6 320.6 323.6 326.6 329.6 332.6 335.6 338.6 341.6 344.6 347.6 350.6 352.7 347.6 345.6 345.6 345.5 345.5 345.7 345.8 344.6 344.2 342.5 341.5 340.7 339.9 339.1 338.8 337.9 338.4 339. 339.2 339.7 341. 341.6 343.5 344.6 346. 347.2 347.1 346.1 345.8 343.1 341.8 340. 337.8 336.3 335. 333. 332.9 334.5 336.4 338.3 340.2 342. 343.9 345.8 347.7 349.5 351.4 353.3 355.2 357. 358.9 360.8 362.7 364.5 366.4 368.3 370.1 372. 373.9 375.8 377.6 379.5 381.4 383.3 385.1 387. 388.9 390.8 392.6 394.5 396.1 396.2 391.9 393.7 393. 384.5 378.5 378.1 378.6 379. 378.4 378.4 378.2 377.2 375.6 373.9 371.9 370.5 368.4 366.3 363.9 360.1 355.6 352.3 349.7 346.8 344.3 341.6 338.8 336.6 334.7 332.7 330.4 327.2 322.1 316.9 312. 307.8 304.9 302.6 300.4 298.4 296.2 293.8 291.2 287.5 277.9 266.6 260.9 262.4 264.2 263.8 263.4 263.1 262.7 262.4 262. 260.9 258.8 257.8 254.5 252.8 250.2 248.2 246.6 245.5 245.1 245. 243.9 243. 241.7 240. 238.4 237. 235.5 234.2 233.1 232.2 231. 229.5 228. 226.5 224.8 224. 223.2 222.1 220.9 220. 219.7 219.4 219.3 219. 218.2 216.9 215.1 212.9 211.9 211.2 210.9 210.5 210.2 210. 209.7 208.9 207.6 205.7 204. 202.7 201.7 200.8 199.3 197.6 195.2 192.5 191.8 192.1 192.4 192.7 193. 193.3 193.6 193.9 194.2 194.5 194.8 195.1 195.4 195.7 196. 196.3 196.6 196.9 197.2 197.5 197.8 198.1 198.4 198.7 199. 199.3 199.6 199.9 200.2 200.5 200.8 201.1 201.4 201.7 202. 202.3 202.6 202.9 203.2 203.5 203.8 204.1 204.4 204.7 205. 205.3 205.6 205.9 206.2 206.5 206.8 207.1 207.4 207.7 208. 208.3 208.6 208.9 209.2 209.5 209.8 210.1 210.4 210.7 211. 211.3 211.6 211.9 212.2 212.5 212.8 213.1 213.4 213.7 214. 214.3 214.6 214.9 215.2 215.5 215.8 216.1 216.4 216.7 217. 217.3 217.6 217.9 218.2 218.5 218.8 219.1 219.4 219.7 220. 220.3 220.6 220.9 221.2 221.5 221.8 222.1 222.4 222.7 223. 223.3 223.6 223.9 224.2 224.5 224.8 225.1 225.4 225.7 226. 226.3 226.6 226.9 227.2 227.5 227.8 228.1 228.4 228.7 229. 229.3 229.6 229.9 230.2 230.5 230.8 231.1 231.4 231.7 232. 232.3 232.6 232.9 233.2 233.5 233.8 234.1 234.4 234.7 235. 235.3 235.6 235.9 236.2 236.5 236.8 237.1 237.4 237.7 238. 238.3 238.6 238.9 239.2 239.5 239.8 240.1 240.4 240.7 241. 241.3 241.6 241.9 242.2 242.5 242.8 243.1 243.4 243.7 244. 244.3 244.6 244.9 245.2 245.5 245.8 246.1 246.4 246.7 247. 247.3 247.6 247.9 248.2 248.5 248.8 249.1 249.4 249.7 250. 250.3 250.6 250.9 251.2 251.5 251.8 252.1 252.4 252.7 253. 253.3 253.6 253.9 254.2 254.5 254.8 255.1 255.4 255.7 256. 256.3 256.6 256.9 257.2 257.5 257.8 258.1 258.4 258.7 259. 259.3 259.6 259.9 260.2 260.5 260.8 261.1 261.4 261.7 262. 262.3 262.6 262.9 263.2 263.5 263.8 264.1 264.4 264.7 265. 265.3 265.6 265.9 266.2 266.5 266.8 267.1 267.4 267.7 268. 268.3 268.6 268.9 269.2 269.5 269.8 270.1 270.4 270.7 271. 271.3 271.6 271.9 272.2 272.5 272.8 273.1 273.4 273.7 274. 274.3 274.6 274.9 275.2 275.5 275.8 276.1 276.4 276.7 277. 277.3 277.6 277.9 278.2 278.5 278.8 279.1 279.4 279.7 280. 280.3 280.6 280.9 281.2 281.5 281.8 282.1 282.4 282.7 283. 283.3 283.6 283.9 284.2 284.5 284.8 285.1 285.4 285.7 286. 286.3 286.6 286.9 287.2 287.5 287.8 288.1 288.4 288.7 289. 289.3 289.6 289.9 290.2 290.5 290.8 291.1 291.4 291.7 292. 292.3 292.6 292.9 293.2 293.5 293.8 294.1 294.4 294.7 295. 295.3 295.6 295.9 296.2 296.5 296.8 297.1 297.4 297.7 298. 298.3 298.6 298.9 299.2 299.5 299.8 300.1 300.4 300.7 301. 301.3 301.6 301.9 302.2 302.5 302.8 303.1 303.4 303.7 304. 304.3 304.6 304.9 305.2 305.5 305.8 306.1 306.4 306.7 307. 307.3 307.6 307.9 308.2 308.5 308.8 309.1 309.4 309.7 310. 310.3 310.6 310.9 311.2 311.5 311.8 312.1 312.4 312.7 313. 313.3 313.6 313.9 314.2 314.5 314.8 315.1 315.4 315.7 316. 316.3 316.6 316.9 317.2 317.5 317.8 318.1 318.4 318.7 319. 319.3 319.6 319.9 320.2 320.5 320.8 321.1 321.4 321.7 322. 322.3 322.6 322.9 323.2 323.1 323.4 323.7 323.5 324.3 324.2 322.9 323.1 323.5 324.1 325.4 328.2 330.4 331.4 333.8 335.4 336.6 338.2 337.9 335.7 334.5 333. 330.5 326. 318.6 308.9 301.4 296.4 291.6 287.1 282.3 277. 272.5 269.8 268.4 267.1 266.5 263.8 261.4 261.4 261.5 261.6 261.7 261.7 261.8 261.9 262. 262. 262.1 262.2 262.3 262.4 262.4 262.5 262.6 262.7 262.7 262.8 262.9 263. 263. 263.1 263.2 263.3 263.3 263.4 262.3 260.3 257.7 255.8 255.5 255.1 255.2 256.4 258.6 262.4 272.7 276.9 283.4 289.9 296.5 303. 309.5 316.1 322.6 329.1 335.7 342.2 348.7 355.3 361.8 368.3 374.9 381.4 384.8 386.2 387.4 388.4 389.4 390.4 391.3 391.5 391.2 391.3 392.2 392.6 393.4 393.6 390.4 382. 375.9 375.5 376.9 374.9 374.6 374.4 371.8 368.4 365.2 361.8 354.3 347.7 342. 336.7 332.3 328.5 324.5 320.6 316.8 312.5 308.8 303.7 297.7 295.6 293.5 291.4 289.3 287.2 285.1 283. 280.9 278.8 276.7 274.6 272.5 270.4 268.3 266.2 264.1 261.9 259.8 257.7 255.6 256.2 259. 259.3 258.6 258.3 257.3 256.5 256.2 256.4 257.1 257.9 258.9 260.9 263.4 267.3 271.7 275.5 278.8 283.8 288.3 291.8 297.2 304.1 311. 317.9 324.8 331.7 333.9 335.4 336.6 337.4 337.9 338.1 337.3 335.5 331.4 325.9 319.7 316. 314.3 312.7 311. 309.3 307.7 306. 304.3 302.7 301. 299.3 297.7 295.4 292.4 290. 290.9 290.3 288.1 281.6 274.1 266.8 258.8 254.5 250.6 248.6 248.5 248.7 247. 243.8 242.2 244.2 246.3 248.4 250.5 252.5 254.6 256.7 258.7 260.8 262.9 264.9 267. 269.1 271.1 273.2 275.3 277.3 279.4 281.5 283.5 284.7 285.7 286.8 287.9 289. 290. 291.1 292.2 293.3 294.3 295.4 296.5 297.6 298.6 299.7 300.8 301.9 302.9 304. 305.1 306.1 307.2 308.3 309.4 310.4 311.5 312.6 313.7 314.7 315.8 316.9 318. 319. 320.1 321.2 322.2 323.3 324.4 325.5 326.5 327.6 328.7 329.8 330.8 331.9 333. 334.1 335.1 336.2 337.3 338.3 339.4 340.5 341.6 342.6 343.7 344.8 345.9 346.9 348. 349.1 350.2 351.2 352.3 353.4 354.5 355.5 356.6 357.7 358.7 359.8 360.9 362. 363. 364.1 365.2 366.3 367.3 368.4 369.5 370.6 371.6 372.7 373.8 374.8 375.9 377. 378.1 379.1 380.2 381.3 382.4 383.4 384.5 385.6 386.7 387.7 388.8 389.9 390.9 392. 393.1 394.2 395.2 396.3 397.4 398.5 399.5 400.6 401.7 402.8 403.8 404.9 406. 407.1 408.1 409.2 410.3 411.3 412.4 413.5 414.6 415.6 416.7 417.8 418.9 419.9 421. 422.1 423.2 424.2 425.3 426.4 427.4 428.5 429.6 430.7 431.7 432.8 433.9 435. 436. 437.1 438.2 439.3 440.3 441.4 442.5 443.5 444.6 445.7 446.8 447.8 448.9 450. 451.1 452.1 453.2 454.3 455.4 456.4 457.5 458.6 459.7 460.7 461.8 462.9 463.9 465. 466.1 467.2 468.2 469.3 470.4 471.5 472.5 473.6 474.7 475.8 476.8 477.9 479. 480. 481.1 482.2 483.3 484.3 485.4 486.5 487.6 488.6 489.7 490.8 491.9 492.9 494. 495.1 496.1 497.2 498.3 499.4 500.4 501.5 502.6 503.7 504.7 505.8 506.9 508. 509. 510.1 511.2 512.3 513.3 514.4 515.5 516.5 517.6 518.7 519.8 520.8 521.9 523. 524.1 525.1 526.2 527.3 528.4 529.4 530.5 531.6 532.6 533.7 534.8 535.9 536.9 538. 539.1 536.9 534.2 531.6 526.1 516.3 504.8 493.7 484.8 479. 475.5 476.7 480.7 486. 490.6 494.6 499.1 505.1 510.4 514. 516.6 518.3 519.7 521.4 523.9 525.8 527.7 529.3 531.3 534.2 537.2 540. 542.5 543.7 544.7 545.4 545.5 544.7 544.1 543.3 541.5 539.2 535.5 527.8 516.7 506. 490.2 474.4 466.4 462.4 461.1 459.6 456.4 471.1 485.9 500.6 500.4 495.2 494.9 495.5 496.1 498.2 500.2 502. 504.6 507.8 510.8 512.7 514.3 515.7 517. 518. 518.8 519.4 520.2 521.9 523.5 524.9 526.3 527.3 527.9 528.1 527.8 527.3 527. 526.7 526.5 526.2 525.9 524.8 523.9 522.4 520.7 518.7 515.7 510.8 504.5 497.7 490.5 483. 473.7 464.2 458.5 453.2 449.2 445.5 441.3 436.6 431.7 426.6 421.2 414.2 406.9 398.7 391.3 385.7 380.4 373.9 367.1 358.3 350.5 344.6 342.7 344.1 345.5 346.8 348.2 349.6 350.9 352.3 353.7 355.1 356.4 357.8 359.2 360.5 361.9 363.3 364.6 366. 367.4 368.8 370.1 371.5 372.9 374.2 375.6 377. 378.3 379.7 381.1 382.5 383.8 385.2 386.6 387.9 389.3 390.7 392. 393.4 394.8 396.2 397.5 398.9 400.3 401.6 403. 404.4 405.7 407.1 408.5 409.9 411.2 412.6 414. 415.3 416.7 418.1 419.4 420.8 422.2 423.6 424.9 426.3 427.7 429. 430.4 431.8 433.1 434.5 435.9 437.3 438.6 440. 441.4 442.7 444.1 445.5 446.8 448.2 449.6 451. 452.3 453.7 455.1 456.4 457.8 459.2 460.6 461.9 463.3 464.7 466. 467.4 468.8 470.1 471.5 472.9 474.3 475.6 477. 478.4 479.7 481.1 482.5 483.8 485.2 486.6 488. 489.3 490.7 492.1 493.4 494.8 496.2 497.5 498.9 500.3 501.7 503. 504.4 505.8 507.1 508.5 509.9 511.2 512.6 514. 515.4 516.7 518.1 519.5 520.8 522.2 523.6 524.9 526.3 527.7 529.1 530.4 531.8 533.2 534.5 535.9 537.3 538.6 540. 541.4 542.8 544.1 545.5 546.9 548.2 549.6 551. 552.3 553.7 555.1 556.5 557.8 559.2 560.6 561.9 563.3 564.7 566. 567.4 568.8 567.4 558.8 541.2 519.8 507.3 496.6 489.2 485.4 483.5 483. 483.5 484.3 485.7 487.6 491.8 501.2 513. 517.6 520. 523.1 526.3 529. 531.6 533.7 533.9 532.1 530.9 529.2 526.7 522.9 518.4 514.6 510.8 507.6 504.4 501.6 499.3 496.8 492. 483.6 479.1 476.2 472.9 469.8 466.4 461.1 453.9 445.5 432.3 420.7 413.3 411.1 415.8 411.4 410.8 410. 413.1 422.2 435.6 443.3 445.1 445.4 442.6 439. 437.2 436.6 435.6 436.6 439.1 441.5 445.1 450.3 457. 463.8 469.4 474.2 478.4 484.1 489.6 494.7 499.5 503.5 507.1 512.7 517.9 523.1 528.3 532.2 534.1 535.4 536.3 536.4 536.4 536.9 537.2 536.9 536.4 535.9 534.6 533. 530.7 528.2 525.2 520.2 514.9 508.3 502.2 496.2 487.8 478.1 470.1 471.9 474.3 476.6 478.5 480.2 481.9 483.2 483.4 482.6 480.5 477.8 474.5 470.6 466.4 461.4 457.1 454.6 452.1 449.4 451.2 458.2 460.2 462.2 464.3 466.3 468.3 470.3 472.4 474.4 476.4 478.4 476.1 474.3 473.7 472.9 472.3 471.9 471.4 470.5 469.9 469.1 469.6 473.4 480.5 488.6 496.3 500.7 502.9 504.1 504.9 505.1 505.1 504.7 503.9 501.9 498.9 495.2 489.6 484.6 481.7 479.1 477.1 475.1 472.3 467.9 461.6 455.4 449.9 446.4 443.7 442. 442. 443.4 445.3 448.7 452.1 455.5 459.2 464.7 474.5 481.2 485.8 489.2 491.1 492.7 495.1 498.6 502.6 503.2 505.7 514. 524.5 530.9 533.3 534.6 536.3 537.1 535.6 528.1 514.9 502.8 496.6 488.2 475.4 460.7 448. 439. 432.3 425.2 421.9 419.5 417.4 416.8 421.7 429.1 419.2 422.8 426.4 430. 433.6 437.2 440.8 444.4 448. 451.6 455.2 458.8 462.4 466. 469.6 473.2 476.8 480.4 484. 487.6 491.2 494.8 498.2 497.9 498.1 498.5 499.1 499.8 500.2 500.1 499.6 498.8 498. 497.2 496.4 495.7 495.1 493.6 491.5 488.9 485.8 481.8 476.3 469.9 463.7 458.1 452.8 439.7 421.6 408.6 403.5 396.4 391.1 386.4 381.5 376.3 371.6 368.1 363.9 359.2 352.1 346.6 342.9 339.4 335.4 330.4 326.5 326.9 330.4 333.9 337.1 340.3 343.5 346.7 350. 353.2 356.4 359.6 362.8 366.1 369.3 372.5 375.7 378.9 382.1 385.4 388.6 391.8 395. 398.2 401.5 404.7 407.9 411.1 414.3 417.5 411. 403.1 398. 394.7 392.3 390.5 389.5 390.4 394.1 402.7 413.2 422.4 430.8 436.7 443.5 450.1 457. 463.8 470.7 478.2 490.8 504.2 518.4 530.4 539.2 544.8 548.4 555.9 564.3 574.6 583.3 588.7 592.5 595.9 599.3 601.2 599.7 595.5 591. 586.4 580.5 573.9 567.4 561.7 557.5 550.9 537.3 519. 509.7 503.4 490. 477.3 465.6 457.1 451.2 441.3 426.2 411.1 416.7 423.7 428.9 431.2 432.6 433.6 434.8 435.9 436.6 437.2 437.3 436.5 432.6 418.4 403.1 402.5 407.6 411.1 414.3 417.1 421.3 430.2 449. 459.5 460.7 460.1 459.5 459.2 457.9 456.9 455.8 454.7 453.8 452.8 450.9 448.6 444.9 441. 439. 438.1 436.3 435.2 432.9 430.9 425.8 420.8 416.7 414. 411.6 409.7 407.4 405.2 402.7 400.3 398.6 397.4 396.3 394.7 394.1 395.8 401.6 410. 416.5 419.4 420. 421.3 423.1 423. 419.8 415.7 412.7 407. 395.2 381.9 369.2 356.4 347.1 346.5 347.5 348.9 350.3 351.6 352.7 355.4 361.6 363.9 367.9 372.9 377. 381.6 388. 395.2 404.1 413.7 422.4 430.3 436.1 440.4 444.1 448.5 453.4 456.8 459.5 461.6 463.3 464.7 466.2 468.6 469.7 470.3 471.1 472.3 473.2 474.6 474.1 473.6 471.9 469. 465.5 461.6 454.3 445.9 440.6 435.2 430.9 427.7 424.4 419.8 411.5 399.6 391.7 387.6 384.8 382. 379.4 376.8 374.3 371.4 367.9 362.8 354.5 342.1 326.4 310.7 310.2 311.6 314.2 319. 323.2 325.9 334.5 351. 369. 379.4 383.3 386. 392.7 403. 406.6 407.6 408.1 408.8 409.7 411.7 416.3 419. 420.3 420.5 419.4 416.9 415.4 414.6 412.9 412.9 412.2 410.4 406.4 399.2 384.6 369.1 366.8 366.7 368.1 369.9 371.5 373.2 382.4 383. 375.3 366.7 362.9 359.5 357.4 360.1 360.2 364.1 368.5 372.1 376.7 382.8 386.4 390.4 395.1 399.5 402.2 403.3 404.2 405. 406.1 408.3 409.1 409.1 408.9 408.3 407.1 406.6 405.8 405. 404. 402.7 401. 397.5 393.2 388.2 382.7 388.8 398.8 402.9 403.3 403.8 404.3 404.8 405.3 405.8 406.2 406.7 407.2 407.7 408.2 408.7 409.1 409.6 410.1 410.6 411.1 411.6 412. 412.5 413. 413.5 414. 414.5 414.9 415.4 415.9 416.4 416.9 417.4 417.8 418.3 418.8 419.3 419.8 420.2 420.7 421.2 421.7 420.1 418.2 416.8 415.8 415.1 414.2 413.9 414.4 414.9 415.5 416.3 417. 417.9 419. 419.7 420. 420.1 420. 419.8 419.4 419. 418.5 417.9 417. 416.1 415.4 414.5 413. 412.1 419. 422.4 423.9 425.4 426.8 428.3 429.8 431.3 432.7 434.2 435.7 437.2 438.6 440.1 441.6 443.1 444.5 446. 447.5 449. 450.4 451.9 453.4 454.8 456.3 457.8 459.3 460.7 462.2 463.7 465.2 466.6 468.1 469.6 471.1 472.5 474. 475.5 477. 478.4 479.9 481.4 482.9 484.3 485.8 487.3 488.8 490.2 491.7 493.2 494.7 496.1 497.6 496.8 487.3 474.3 464.8 455.9 446.5 442.6 441.8 442. 443.1 443.1 443.3 443.6 443.3 442.3 441.4 439.5 437.7 435.9 434.3 432.5 430.7 428.8 426.3 423.4 420.3 416. 410.8 405.1 400.1 395.8 392.6 389.5 385.9 381.5 377.3 373.7 369.6 364.6 361.8 355.8 341.2 330.4 326.8 324.9 323.1 328.2 330.2 336. 344.6 345.1 337.5 330.8 326.2 322.1 317.9 315. 313. 311.1 308.8 305.9 302.6 300.1 298.5 297.6 296.9 296.2 295.5 294.5 293.4 292.1 290.5 288.6 286. 283.2 280.1 278.1 276.7 275.3 273.9 272.7 271.6 270.2 268.4 266.8 264.3 261.3 259.3 257.3 255.9 254.5 253.2 251.8 250.3 249. 247.6 246.2 244.7 242.3 239.9 237.7 235.9 234.6 233.6 232.5 231.1 229.5 227.8 225.7 222.8 219.1 216.5 215.2 214.1 213.2 212.4 211.5 210.2 206.6 201.6 198.9 197.4 197.3 197.9 198.5 199.1 199.8 200.4 201. 201.6 202.3 202.9 203.5 204.2 204.8 205.4 206. 206.7 207.3 207.9 208.5 209.2 209.8 210.4 211. 211.7 212.3 212.9 213.6 214.2 214.8 215.4 216.1 216.7 217.3 217.9 218.6 219.2 219.8 220.5 221.1 221.7 222.3 223. 223.6 224.2 224.8 225.5 226.1 226.7 227.3 228. 228.6 229.2 229.9 230.5 231.1 231.7 232.4 233. 233.6 234.2 234.9 235.5 236.1 236.8 237.4 238. 238.6 239.3 239.9 240.5 241.1 241.8 242.4 243. 243.6 244.3 244.9 245.5 246.2 246.8 247.4 248. 248.7 249.3 249.9 250.5 251.2 251.8 252.4 253.1 253.7 254.3 254.9 255.6 256.2 256.8 257.4 258.1 258.7 259.3 260. 260.6 261.2 261.8 262.5 263.1 263.7 264.3 265. 265.6 266.2 266.8 267.5 268.1 268.7 269.4 270. 270.6 271.2 271.9 272.5 273.1 273.7 274.4 275. 275.6 276.3 276.9 277.5 278.1 278.8 279.4 280. 280.6 281.3 281.9 282.5 283.1 283.8 284.4 285. 285.7 286.3 286.9 287.5 288.2 288.8 289.4 290. 290.7 291.3 291.9 292.6 293.2 293.8 294.4 295.1 295.7 296.3 296.9 297.6 298.2 298.8 299.4 300.1 302.4 305.2 306.5 306.7 306.7 306.1 305.4 304.4 303.1 301.9 300.9 299.6 298.5 297.4 296.3 294.9 293.9 293.3 293. 292.8 292.9 293.1 293.2 293.4 293.7 294.3 294.8 295.9 297.3 298.9 300.5 301.5 301.7 300.9 299.4 296.3 292.4 289.6 289.6 289.5 289.5 289.4 289.4 289.3 289.3 289.2 289.2 289.2 289.1 289.1 289. 289. 288.9 288.9 288.8 288.8 291.3 293.5 294.7 295.6 296. 295.5 294.6 293.2 291.3 289.4 287.6 285.9 284.1 282.5 278.9 275.9 273.5 271.5 269.8 268.2 266.1 264.2 262.2 260.6 259.3 258.2 257.2 255.9 253.7 251.9 250.9 250.5 250.1 249.4 248.5 246.7 245.9 248.4 250.2 251.1 251.8 253.4 255.1 257.2 258.3 259.1 259.9 261.2 263.2 264.2 264.5 264.2 263.8 263.2 262.6 262.2 261.5 256.1 253.7 252.1 251.6 252.9 254.2 255.5 256.8 258.2 259.5 260.8 262.1 263.4 264.7 266.1 267.4 268.7 270. 271.3 272.7 274. 275.3 276.6 277.9 279.3 280.6 281.9 283.2 284.5 285.9 287.2 287.7 287.7 287.8 288.7 289.7 291.4 294. 296.3 297.3 297.6 299.2 311.8 312.5 313. 313.7 315. 317. 321. 336.7 339.7 351.4 363.6 371.5 373.8 376.3 378.4 379.7 379.9 379.8 379.3 378.6 377.8 377. 376.1 374.4 367. 360.8 355.7 345.6 333.7 331.3 328.9 326.5 324.1 321.7 319.3 316.9 314.5 312. 309.6 307.2 304.8 302.4 300. 297.6 295.2 292.8 290.4 288. 284.8 280.8 275.9 271.1 266.5 263.9 262.1 260.8 259.9 258.6 257.6 256.7 256. 255.2 254.7 254.1 253.4 252.7 252.3 252. 251.7 251.2 250.6 250.8 251. 251.2 251.4 251.6 251.8 252. 252.2 252.4 252.6 252.8 253. 253.2 253.4 253.7 253.9 254.1 254.3 254.5 254.7 254.9 255.1 255.3 255.5 255.7 255.9 256.1 256.3 256.5 256.7 256.9 257.1 257.3 257.5 257.7 257.9 258.1 258.3 258.5 258.8 259. 259.2 259.4 259.6 259.8 260. 260.2 260.4 260.6 260.8 261. 261.2 261.4 261.6 261.8 262. 262.2 262.4 262.6 262.8 263. 263.2 263.4 263.6 263.9 264.1 264.3 264.5 264.7 264.9 265.1 265.3 265.5 265.7 265.9 266.1 266.3 266.5 266.7 266.9 267.1 267.3 267.5 267.7 267.9 268.1 268.3 268.5 268.7 269. 269.2 269.4 269.6 269.8 269.5 267.9 266.5 264.8 263.7 262.6 261.6 260.8 259.6 258.5 256.8 255.6 254.3 252. 249.9 256. 262.1 268.1 274.2 280.3 286.4 292.4 298.5 304.6 310.7 313.2 316.9 324.2 335.8 343.4 355.9 367.1 374. 376.8 378.8 380.8 382.9 384.9 385.7 385. 383.5 381.7 380. 378.3 376.9 375.2 367.8 359. 353. 350.7 348. 344.5 341.7 338.7 335.7 333.3 330.1 325.5 321.5 319.5 316.9 315.1 312.5 308.7 305.1 302.3 299. 296.3 295.1 294.5 302.6 317.7 333. 348.3 363.6 366. 366.1 366.2 366.3 367.1 367.9 368.4 368.2 365.1 362. 359.3 356.3 353.2 350.2 347.2 344.1 341.1 338.9 336.7 329.8 326. 322.5 319.8 316. 310.6 304.9 298.5 292.6 288.7 289.2 291. 293.5 296. 298.5 301. 303.5 306. 308.4 310.9 313.4 315.9 318.4 320.9 323.4 325.9 328.4 330.9 333.4 335.9 338.3 340.8 343.3 345.8 348.3 350.2 351. 352. 352.6 352.5 352. 350.6 348.5 346. 342.4 338.1 335. 333.4 332.7 332.5 332.7 332.9 333.2 333.9 335.3 338.4 341.6 343.3 347.5 351.7 355.8 360. 364.2 368.3 372.5 376.7 380.8 385. 389.1 393.3 397.5 401.6 405.4 407.3 407.8 408.6 409.6 410.4 411.4 412.6 413.4 413.8 414. 413.6 412.5 411.3 410.1 408.6 406.9 404.7 402.4 399.8 396.2 391.7 386.7 380. 375.4 371.6 368.2 364.3 360. 355.9 351.4 347.6 342.3 336.5 330.6 324.8 319.1 314.6 311.3 308.9 306.2 304.3 303. 301.3 298.6 292.6 288.6 288.1 288.5 288.9 289.3 289.6 290. 290.4 290.8 291.2 291.3 290.9 290.7 290.3 289.7 288.3 286.4 284.4 283. 281.3 280.2 279.3 277.9 274.8 270.3 266.3 263.8 261.6 260.1 258. 256.2 254.6 253.7 254.3 255.1 252.7 251.9 250.5 249.3 249.1 249.4 249.4 250.2 250.3 251.2 252.5 257.4 265.8 273.2 277.1 282.7 286.4 298.3 310.6 318.9 324. 325.6 338.1 351.3 357.7 361.8 366.2 370.8 374.1 376.6 380. 383.4 387.4 392.6 397.4 399.6 400.9 400.7 399. 397.5 396.4 394.9 392.5 389.1 385.8 381.8 375.7 368.7 363.1 358.7 353.8 348.1 341.1 332.7 325.7 320.6 315.4 313.6 311.4 307.1 302.2 299.6 299. 298.5 298. 297.5 296.9 296.4 295.9 295.3 294.8 294.3 293.7 293.2 292.7 292.2 292.6 293.7 294.5 296.5 299.9 303.9 307.9 311.8 316.1 323.1 328.4 332.4 335.8 338.4 340.8 343.8 347.4 350.6 354.7 358.1 360.5 361.9 362.2 362.3 361.7 361.2 360. 358.5 356.9 354.9 352.5 350. 349.7 349.4 349.1 348.7 348.4 348.1 347.8 347.5 347.2 346.9 346.5 346.2 345.9 345.6 345.3 345. 344.6 344.3 344. 343.3 340.2 332.2 332. 332.4 333. 333.8 335. 336.3 337.8 339.6 340.9 341.4 341.2 340.6 339.6 336.9 340.5 344. 347.6 351.1 354.7 358.2 361.8 365.3 364.3 364.4 364.6 364.8 365. 365.3 365.3 364.9 364.4 363.4 362.4 361.8 361.2 360.7 359.7 358.4 356.9 355.4 354. 352.3 350.8 349. 347.3 345. 341.3 336.7 332.4 328.9 326.5 323.4 320.3 317.5 314.9 312.3 309.9 307.4 304.4 302.1 300.3 298.9 297.7 296.7 296. 294.9 294. 292.8 291. 287.4 282.2 278.8 275.1 272.7 270.3 268.7 267.6 266.6 265.7 264.6 263.9 262.5 260.6 257.3 251.2 249.3 247.2 245.8 243.9 242.2 240.5 239.5 241.6 241.4 242.6 243.7 244.9 246. 247.2 248.3 249.5 250.6 251.8 252.9 254.1 255.2 256.4 257.5 258.7 259.8 261. 262.1 263.3 264.4 265.6 266.7 267.9 269. 270.1 271.3 272.4 273.6 274.7 275.9 277. 278.2 279.3 280.5 281.6 282.8 283.9 285.1 286.2 287.4 288.5 289.7 290.8 292. 293.1 294.3 295.4 296.6 297.7 298.9 300. 301.2 302.3 303.4 304.6 305.7 306.9 308. 309.2 310.3 311.5 312.6 313.8 314.9 316.1 317.2 318.4 319.5 320.7 321.8 323. 324.1 325.3 326.4 327.6 328.7 329.9 331. 332.2 333.3 334.5 335.6 336.7 337.9 339. 340.2 341.3 342.5 343.6 344.8 345.9 347.1 348.2 349.4 350.5 349.7 349.7 351.5 358.8 373.4 376.6 379.5 381.6 382.3 382.6 382.8 382.3 380.5 376.3 377.6 384.7 393.1 402.1 414. 422.1 431.9 445.6 465.1 486.9 506.5 515.8 521.7 526.3 528.1 524.8 519.6 514.1 510.3 507.1 504. 498.8 493.4 491.4 492.8 494.1 495.5 496.8 498.1 499.5 500.8 502.2 503.5 504.9 506.2 507.5 508.9 510.2 511.6 512.9 514.3 515.6 512.2 519.7 532.3 541.2 545.3 548. 551. 554.2 557.3 560.3 563.2 565.6 567.5 568.6 569.5 569.1 567.4 564.7 562. 559.4 556.7 553.3 549. 544.8 540.8 535.3 525.2 511.7 504.8 500.7 495.4 488.5 481.2 473.9 465.1 449.6 442. 436.6 431.5 422. 409.6 403. 398.6 392.7 391.2 390.4 390. 389.5 388.8 387.5 384.7 383.1 381.4 379.3 376.5 372.7 368.2 364.8 361.9 360.3 359. 351.1 337. 326. 323.3 320.2 318.2 316.6 315. 313.7 312.6 310.9 309.5 308.3 306.6 304.3 303.2 303.4 300.9 307.8 314.7 321.6 328.5 337.6 346.9 348.8 351.7 353.6 355. 356.3 357.9 360.2 362.5 365.3 367.8 371.2 375. 379.9 386.1 391.2 394.5 398. 400.7 403.1 404.9 405.6 405.2 403.4 400.2 395.9 391.5 387.6 384.2 380.9 377.5 374.9 371.7 368.5 364.8 360.1 354.6 349.7 345.5 341.1 337. 332.8 328.7 324.6 320.6 317.1 313.4 309.8 305.5 299.2 293.1 289.2 285.5 282. 279. 276.3 273.7 271.1 269.5 275.3 281.1 286.9 292.7 298.5 304.2 310. 315.8 321.6 327.4 333.2 339. 344.8 350.6 356.4 362.2 368. 373.8 379.6 385.4 391.2 397. 402.8 408.6 414.4 420.2 426. 431.8 437.6 443.4 449.2 455. 460.8 466.6 472.4 478.2 483.9 489.7 495.5 501.3 507.1 512.9 518.7 524.5 530.3 536.1 541.9 547.7 553.5 559.3 565.1 570.9 576.7 582.5 588.3 594.1 599.9 605.7 611.5 617.3 623.1 628.9 634.7 640.5 646.3 652.1 657.8 644.4 639.3 635.3 628.3 618. 616.8 622. 623.2 625.2 630. 629.7 618.5 612.1 610.5 588.4 587.9 594. 603.9 613.8 623.7 633.5 643.4 653.3 671.5 696.7 713. 708.5 698.6 685.4 672.6 664.9 663. 666.4 675.9 689.9 703.5 724.9 743.6 752.5 743.8 721.4 701.2 668.6 648.4 645.4 642.1 645.2 655.2 660.4 663.5 670.3 670.9 677.2 691.5 701.5 702.4 707.1 704.6 673.6 678.1 686.6 688.4 690.7 671.3 652. 632.7 613.3 594. 574.7 555.3 536. 516.7 497.3 478. 458.7 439.3 426.5 435.8 441.5 445. 446.2 447. 447.4 447. 445.7 444.3 444. 443.5 444. 445.9 448.9 452. 455.8 458.7 461.4 464.2 467.8 473.2 479.2 482.8 485. 485.8 483.8 481.2 479.8 479.4 479.8 480.5 483.4 481.6 477.9 474.2 470.5 466.8 463.1 459.4 455.7 452. 448.3 444.6 440.9 437.2 433.5 429.8 426.1 422.4 418.7 415. 411.3 407.6 403.9 400.2 400. 405. 409.8 415. 418. 421.3 424.3 426.8 428.2 428.7 428.7 428.2 427.5 426. 424. 421. 416.6 412.8 410.3 405.2 405.5 408.4 411.4 414.4 417.4 420.4 423.3 426.3 428.2 430.1 434.9 442.8 450. 466.3 482.8 495.9 509.5 524.5 537.3 545.6 553.4 558.3 559.9 556.1 546.5 533.1 511.3 490.8 475.2 462.6 454.6 449.3 444.8 440.9 435. 428.8 425.5 423.7 422.7 422.5 421.5 416.7 413.9 404.8 394.4 386.6 383.4 381.4 381.8 382.2 382.7 383.1 383.6 384. 384.5 384.9 385.4 385.8 386.2 386.7 387.1 387.6 388. 388.5 388.9 389.4 389.8 390.2 390.7 391.1 391.6 392. 392.5 392.9 395.1 399.9 403.3 399.5 402.4 404.1 401.9 400.1 397.1 390.8 389.2 388.9 388.5 385.8 383. 380.8 378.6 376.5 374.1 370.8 367.5 364.7 362.5 360.6 359. 357.7 356.2 353.8 343.6 333.5 329.7 326.6 321.2 321.2 322.2 323.3 324.4 325.6 326.7 327.8 329. 330.1 331.2 332.4 333.5 334.6 335.8 336.9 338. 339.2 340.3 341.4 343. 345.6 347.6 347.6 346.7 342.8 335.8 328.6 323.9 319.5 310.9 305.3 300.1 297.9 298.8 298.7 298.2 298.4 299.4 303.1 305.8 307.2 309.2 309.5 309.8 310.7 311.1 313. 315.7 317.8 319.3 320.2 321.6 324. 326.5 329.2 332.2 335.4 338.3 340.7 342.4 343.8 345.2 347. 349.6 351.3 351.8 352.5 353.1 353.6 354.3 354.7 354.7 354.1 352.2 350. 347.5 344.9 342.8 341.1 339.5 338.2 336.9 335.6 334.3 332.8 330.6 328.1 325. 321.3 316.4 311.1 306.6 303.3 300.6 297.2 293.6 289.8 286.2 282.9 279.8 276.6 273.9 271.8 269.7 266.5 261.2 254.3 249.2 243.6 243. 243.3 243.6 243.9 244.2 244.5 244.8 245.1 245.4 245.7 246. 246.3 246.6 246.9 247.2 247.5 247.8 237. 237. 237. 236.7 236.5 236.3 236.1 236.1 236.1 236.1 235.9 235.5 235. 234.9 234.7 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 234.6 235.3 236.2 236.9 237.7 239.4 240.3 241.8 243.3 244. 245.9 247.7 249.4 251.7 252.7 254.1 255.3 256.4 257.1 258.8 259.4 260.4 261.5 262.5 263.3 263.6 263.7 264.4 264.4 265. 265.4 265.4 265.4 265.4 265.6 266. 266.9 268. 269. 270.1 270.1 270.1 270.7 270.6 269.5 265.8 259.6 255.9 254.1 253.1 252.5 252.1 251.8 251.5 251.1 250.6 248.9 246.9 244.7 243.2 242.7 242.3 242.4 242.7 242.7 242.7 242.6 241.8 240.2 239.8 239.7 239.5 239.9 240.3 240.4 240.2 240.3 240. 239.5 238.8 238.1 237.4 236.7 236. 235.3 234.6 233.9 233.2 232.4 231.7 231. 230.3 229.6 228.9 228.2 227.5 226.7 226. 225.3 224.6 223.9 223.2 222.5 221.8 221.1 220.4 220.7 222.1 219.8 216.4 215.1 213.3 213.5 212.6 211.4 210.5 208.4 205.8 205.1 203.8 202.8 202.6 202.4 201.9 201.5 201.3 200.9 201. 200. 199.1 198.9 197.7 195.5 195. 194.9 194.9 195. 195.1 195.2 195.3 195.4 195.4 195.5 195.6 195.7 195.8 195.8 195.9 196. 196.1 196.2 196.3 196.3 196.4 196.5 196.6 196.7 196.8 196.8 196.9 197. 197.1 197.2 197.2 197.3 197.4 197.5 197.6 197.7 197.7 197.9 199. 199.7 202. 205.1 207.5 210.5 212.6 214.6 216.4 218.2 219.6 220.4 221. 221.2 221.7 221.7 221.5 221.4 221.4 221.6 222. 222.6 222.7 222.2 221.7 221.2 220.7 222. 223.3 224.6 226. 227.3 228.6 230. 231.3 232.6 234. 235.3 236.6 238. 239.3 240.6 241.9 243.3 244.6 245.9 247.3 248.6 249.9 251.3 252.6 253.9 255.2 256.6 257.9 259.2 260.6 261.9 263.2 264.6 265.9 267.2 268.6 269.9 271.2 272.5 273.9 275.2 276.5 277.9 279.2 280.5 281.9 283.2 284.5 285.8 287.2 288.5 289.8 291.2 292.5 293.8 295.2 296.5 297.8 299.2 300.5 301.4 303. 305.4 306.6 307. 311.8 312.8 313.5 314.3 315.6 316.6 316.1 315.6 315.1 314.6 314.1 313.6 313.1 312.6 312.1 311.6 311.1 310.6 310.1 309.6 309.1 308.6 308.1 307.6 307.1 306.6 306.1 304.6 301. 297.6 295.7 293.3 290. 286.9 284.6 282.6 280.6 278.6 276.5 274.5 272.4 269.4 265.1 260.6 256.1 252. 249.4 248.7 248. 244.7 238.7 240. 250.8 262.8 274.7 286.7 290.8 285.4 283.9 286.9 288.6 293.3 298.3 302.8 307.8 309.9 310.5 310.4 309.8 308.7 306.7 302.8 299. 296.4 288.2 296.1 302.4 302.6 302.7 303.8 312.7 321.6 330.6 339.5 348.4 357.3 366.3 375.2 384.1 385. 385.4 384.8 383.5 383.2 383.8 384.4 384.9 384.2 384.2 382.8 373.7 358.6 355.9 354.6 354.3 354.5 356.7 360.3 362.3 363.3 372.1 377.1 377.8 380.6 386.3 391.3 397.7 407.5 411.8 414.8 417.7 419.9 420.2 425.7 424. 421.8 419.7 417.5 415.4 413.3 411.1 409. 406.8 404.7 402.5 400.4 398.2 396.1 394. 391.8 389.7 387.5 385.4 383.2 381.1 379. 376.8 374.7 372.5 370.4 368.2 366.1 363.9 361.8 359.7 357.5 355.4 353.2 351.1 348.9 346.8 344.7 347.2 356.2 366.2 372.3 377.4 376.1 380. 390.8 400. 408.3 417.4 422.3 424.9 426. 427.4 427.7 427.7 427.3 425.5 422.4 419.2 414.7 410.4 407.2 405.7 408.7 405.3 403.7 402.2 400.7 399.2 397.7 396.2 394.7 391. 386.2 382.1 378.4 374.9 370.9 366.4 362.8 360.1 357.9 355.7 353.1 350.2 347.3 345.8 344.8 343.4 342.1 341.2 340.8 340.7 340.9 341. 340.8 340.7 340.8 341.2 341.4 341.2 340.8 339.9 338.9 337.8 336.4 335.1 334. 333.1 333. 333.8 335. 336.5 337.9 339.2 340.6 341.6 342.5 343.3 343.9 344.1 341.6 338.3 334.7 332.6 328.5 325.1 323.5 322.5 319. 313.3 309.7 312.1 316.4 319.5 320.4 321.3 322.2 323.1 324. 324.9 325.8 326.6 327.5 328.4 329.3 330.2 331.1 332. 332.9 333.8 334.7 335.6 336.5 337.3 338.2 339.1 340. 340.8 340.4 339.7 338.7 337.6 336.7 336.7 336.7 336.7 336.6 336.6 336.6 336.6 336.9 338.2 339.7 341.3 342.1 342.1 341.7 341. 339.6 337.5 334.8 332.2 329.4 326.6 324.1 321.5 319.4 317.5 316.2 315.3 314.5 313.8 313.2 312.3 311.4 310.6 309.9 309.3 308.7 308.3 308.3 308.4 308.6 308.7 308.7 308.5 307.9 307. 305.8 305.1 303.9 302.4 300.6 299. 298.2 297.8 297.5 297.5 297.6 297.6 297.5 297.3 296.3 294. 291. 288.5 286.2 283.4 280. 277.4 274.5 271.4 268.9 267.5 266.9 266.4 266.2 266.2 266.3 266.4 266.4 266.7 267. 267.3 267.4 267.3 267.1 266.3 265.5 264.8 263.3 262.1 260. 258.4 257.4 256.7 256.1 255.3 253.8 249.4 247.9 247.2 246.7 246.4 245.7 245.2 244.3 243.9 243.3",
        "input_type": "phoneme"
    } # Manual pitch curve mode
    inp2 = {
        'text': 'SP 还 记 得 那 场 音 乐 会 的 烟 火 SP 还 记 得 那 个 凉 凉 的 深 秋 SP 还 记 得 人 潮 把 你 推 向 了 我 SP 游 乐 园 拥 挤 的 正 是 时 候 SP 一 个 夜 晚 坚 持 不 睡 的 等 候 SP 一 起 泡 温 泉 奢 侈 的 享 受 SP 有 一 次 日 记 里 愚 蠢 的 困 惑 SP 因 为 你 的 微 笑 幻 化 成 风 SP 你 大 大 的 勇 敢 保 护 着 我 SP 我 小 小 的 关 怀 喋 喋 不 休 SP 感 谢 我 们 一 起 走 了 那 么 久 SP 又 再 一 次 回 到 凉 凉 深 秋 SP 给 你 我 的 手 SP 像 温 柔 野 兽 SP 把 自 由 交 给 草 原 的 辽 阔 SP 我 们 小 手 拉 大 手 SP 一 起 郊 游 SP 今 天 别 想 太 多 SP 你 是 我 的 梦 SP 像 北 方 的 风 SP 吹 着 南 方 暖 洋 洋 的 哀 愁 SP 我 们 小 手 拉 大 手 SP 今 天 加 油 SP 向 昨 天 挥 挥 手 SP',
        'ph_seq': 'SP h ai j i d e n a ch ang y in y ve h ui d e y an h uo uo SP h ai j i d e n a g e l iang l iang d e sh en en q iu iu SP h ai j i d e r en ch ao b a n i t ui x iang l e w o o SP y ou l e y van y ong j i d e zh eng sh i sh i h ou ou SP y i g e y e w an j ian ch i b u sh ui d e d eng h ou ou SP y i q i p ao w en q van sh e ch i d e x iang iang sh ou ou SP y ou y i c i r i j i l i y v ch un d e k un h uo uo SP y in w ei n i d e w ei x iao h uan h ua ch eng f eng eng SP n i d a d a d e y ong g an b ao h u zh e w o o SP w o x iao x iao d e g uan h uai d ie d ie b u x iu iu SP g an x ie w o m en y i q i z ou l e n a m e j iu iu SP y ou z ai y i c i h ui d ao ao l iang l iang sh en q iu iu SP g ei n i w o d e sh ou SP x iang w en r ou y e sh ou SP b a z i y ou j iao g ei c ao y van d e l iao iao k uo uo uo SP w o m en x iao sh ou l a d a sh ou SP y i q i j iao iao y ou SP j in t ian b ie x iang t ai d uo uo SP n i sh i w o d e m eng SP x iang b ei f ang d e f eng SP ch ui zh e n an f ang n uan y ang y ang d e ai ai ch ou ou ou SP w o m en x iao sh ou l a d a sh ou SP j in t ian j ia ia y ou SP x iang z uo t ian h ui h ui ui sh ou ou ou SP',
        'note_seq': 'rest G3 G3 G3 G3 A3 A3 C4 C4 D4 D4 E4 E4 A4 A4 G4 G4 E4 E4 D4 D4 D4 D4 C4 rest C4 C4 D4 D4 C4 C4 B3 B3 C4 C4 F4 F4 A3 A3 C4 C4 D4 D4 E4 E4 E4 D4 rest D4 D4 E4 E4 D4 D4 C#4 C#4 D4 D4 G4 G4 B3 B3 D4 D4 E4 E4 D4 D4 D4 D4 C4 rest C4 C4 D4 D4 C4 C4 B3 B3 C4 C4 F4 F4 A3 A3 C4 C4 A3 A3 A3 A3 G3 rest G3 G3 G3 G3 A3 A3 C4 C4 D4 D4 E4 E4 A4 A4 G4 G4 E4 E4 D4 D4 D4 D4 C4 rest C4 C4 D4 D4 C4 C4 B3 B3 C4 C4 F4 F4 A3 A3 C4 C4 D4 D4 E4 E4 E4 D4 rest D4 D4 E4 E4 D4 D4 C#4 C#4 D4 D4 G4 G4 B3 B3 D4 D4 E4 E4 D4 D4 D4 D4 C4 rest C4 C4 D4 D4 C4 C4 B3 B3 C4 C4 F4 F4 A3 A3 C4 C4 D4 D4 D4 D4 C4 rest E4 E4 F4 F4 E4 E4 D4 D4 E4 E4 F4 F4 E4 E4 D4 D4 E4 E4 E4 E4 F4 rest F4 F4 G4 G4 F4 F4 G4 G4 F4 F4 E4 E4 D4 D4 C4 C4 D4 D4 D4 D4 E4 rest E4 E4 E4 E4 D4 D4 C#4 C#4 E4 E4 E4 E4 D4 D4 D4 D4 D4 D4 C#4 C#4 C#4 C#4 D4 rest D4 D4 D4 D4 E4 E4 F#4 F#4 D4 D4 G4 G4 A4 G4 G4 G4 G4 F#4 F#4 F#4 F#4 G4 rest E4 E4 F4 F4 E4 E4 F4 F4 G4 G4 rest E4 E4 F4 F4 E4 E4 F4 F4 G4 G4 rest G4 G4 A4 A4 G4 G4 A4 A4 B4 B4 C5 C5 E4 E4 E4 E4 G4 G4 A4 A4 A4 G4 G4 rest C4 C4 D4 D4 C4 C4 F4 F4 E4 E4 D4 D4 C4 C4 rest F4 F4 E4 E4 D4 D4 C4 C4 C4 rest C4 C4 D4 D4 A3 A3 C4 C4 E4 E4 E4 E4 G4 rest E4 E4 F4 F4 E4 E4 F4 F4 G4 G4 rest E4 E4 F4 F4 E4 E4 F4 F4 G4 G4 rest G4 G4 A4 A4 G4 G4 A4 A4 B4 B4 C5 C5 E4 E4 E4 E4 G4 A4 A4 A4 G4 G4 rest C4 C4 D4 D4 C4 C4 F4 F4 E4 E4 D4 D4 C4 C4 rest F4 F4 E4 E4 D4 D4 C4 C4 C4 rest C4 C4 D4 D4 A3 A3 C4 C4 C4 C4 D4 D4 D4 C4 C4 rest',
        'note_dur_seq': '8.076923 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.3028846 0.389423 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.1298077 0.1298077 0.3317308 0.2307692 0.2307692 0.2884615 0.403846 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2740385 0.418269 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.4615385 0.4615385 0.2307692 0.2307692 0.2740385 0.418269 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2884615 0.403846 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.1153846 0.1153846 0.3461539 0.2740385 0.2740385 0.2307692 0.418269 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2740385 0.418269 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.4615385 0.4615385 0.2596154 0.2596154 0.3173077 0.346154 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.4615385 0.4615385 0.1442308 0.1442308 0.4182692 0.360577 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.4615385 0.4615385 0.1586538 0.1586538 0.3894231 0.375 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.2307692 0.2307692 0.1586538 0.1586538 0.4615385 0.302885 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.1298077 0.1298077 0.3317308 0.2307692 0.2307692 0.4615385 0.4615385 0.4615385 0.4615385 0.1442308 0.1442308 0.3461539 0.432692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.5480769 0.5480769 0.375 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.5480769 0.5480769 0.375 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.1153846 0.1153846 0.3461539 0.2740385 0.2740385 0.4182692 0.375 0.317308 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.375 0.375 0.317308 0.2307692 0.2307692 0.4615385 0.4615385 0.2740385 0.2740385 0.1875 0.2307692 0.2307692 0.230769 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.4615385 0.4615385 0.1442308 0.1442308 0.4326923 0.346154 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.5913461 0.5913461 0.331731 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.5913461 0.5913461 0.331731 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.1298077 0.3317308 0.2884615 0.2884615 0.4038461 0.3028846 0.389423 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.3894231 0.3894231 0.302885 0.2307692 0.2307692 0.4615385 0.4615385 0.2740385 0.2740385 0.1875 0.1730769 0.1730769 0.288462 0.2307692 0.2307692 0.4615385 0.4615385 0.2307692 0.2307692 0.4615385 0.4615385 0.1298077 0.1298077 0.3317308 0.2163462 0.2163462 0.4759615 0.3894231 1',
        'is_slur_seq': '0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0',
        'ph_dur': '7.911923 0.165 0.12718 0.103589 0.185769 0.045 0.155769 0.075 0.13782 0.092949 0.185769 0.045 0.416538 0.045 0.124423 0.106346 0.416538 0.045 0.185769 0.045 0.155768 0.075001 0.230769 0.302885 0.314423 0.075 0.107052 0.123717 0.185769 0.045 0.167052 0.063717 0.17077 0.059999 0.170769 0.06 0.401666 0.059873 0.185769 0.045 0.290193 0.171346 0.129808 0.188012 0.143719 0.230769 0.288462 0.343847 0.059999 0.131732 0.099037 0.185769 0.045 0.185769 0.045 0.1475 0.083269 0.185769 0.045 0.371538 0.09 0.142179 0.088591 0.311539 0.15 0.155768 0.075001 0.177501 0.053268 0.230769 0.274038 0.393268 0.025002 0.187821 0.042948 0.185769 0.045 0.185769 0.045 0.150062 0.080708 0.185384 0.045385 0.356537 0.105001 0.119102 0.111668 0.311537 0.150002 0.356539 0.105 0.230769 0.274038 0.373269 0.045 0.102946 0.127823 0.185769 0.045 0.185769 0.045 0.185771 0.044998 0.108523 0.122246 0.401537 0.060001 0.111154 0.119616 0.416538 0.045 0.172755 0.058014 0.15577 0.074999 0.230769 0.288462 0.358846 0.045 0.111602 0.119167 0.15577 0.074999 0.162692 0.068077 0.15577 0.074999 0.131024 0.099745 0.311539 0.15 0.185769 0.045 0.317692 0.143847 0.115385 0.196152 0.150002 0.274038 0.230769 0.373271 0.044998 0.124934 0.105835 0.118781 0.111988 0.185771 0.044998 0.155768 0.075001 0.127177 0.103592 0.41654 0.044998 0.127563 0.103207 0.41654 0.044998 0.129546 0.101223 0.14532 0.085449 0.230769 0.274038 0.393268 0.025002 0.17686 0.053909 0.170768 0.060001 0.185771 0.044998 0.185767 0.045002 0.114741 0.116028 0.356539 0.105 0.150062 0.080708 0.301085 0.160454 0.290259 0.17128 0.259615 0.317308 0.300961 0.045193 0.15673 0.074039 0.203528 0.027241 0.197818 0.032951 0.169616 0.061153 0.151668 0.079102 0.41654 0.044998 0.132499 0.09827 0.356535 0.105003 0.385771 0.075768 0.144231 0.418269 0.317951 0.042625 0.103847 0.126923 0.154811 0.075958 0.185767 0.045002 0.170772 0.059998 0.127372 0.103397 0.416536 0.045002 0.139617 0.091152 0.386538 0.075001 0.312758 0.148781 0.158654 0.389423 0.314999 0.060001 0.116088 0.114681 0.185767 0.045002 0.155768 0.075001 0.185771 0.044998 0.087241 0.143528 0.34532 0.116219 0.182818 0.047951 0.356539 0.105 0.155768 0.075001 0.154998 0.075771 0.158654 0.461538 0.257883 0.045002 0.128524 0.102245 0.202945 0.027824 0.097816 0.132954 0.155772 0.074997 0.168716 0.062054 0.129808 0.271729 0.060001 0.164615 0.066154 0.323973 0.137566 0.308973 0.152565 0.144231 0.346154 0.372691 0.060001 0.185771 0.044998 0.185767 0.045002 0.185771 0.044998 0.109038 0.121731 0.548077 0.240002 0.134998 0.185767 0.045002 0.185771 0.044998 0.185767 0.045002 0.109233 0.121536 0.548077 0.330002 0.044998 0.116408 0.114361 0.185767 0.045002 0.170577 0.060192 0.185771 0.044998 0.111991 0.118778 0.41654 0.044998 0.185767 0.045002 0.386538 0.075001 0.115385 0.245194 0.10096 0.274038 0.418269 0.375 0.281472 0.035835 0.170768 0.060001 0.15301 0.077759 0.10942 0.121349 0.386538 0.075001 0.127177 0.103592 0.313074 0.148464 0.375 0.272302 0.045006 0.101024 0.129745 0.356543 0.104996 0.274038 0.10878 0.07872 0.230769 0.140773 0.089996 0.129741 0.101028 0.41654 0.044998 0.114749 0.11602 0.326536 0.135002 0.385962 0.075577 0.144231 0.432692 0.301156 0.044998 0.1114 0.11937 0.185771 0.044998 0.185771 0.044998 0.119479 0.11129 0.591346 0.196736 0.134995 0.185771 0.044998 0.155765 0.075005 0.185771 0.044998 0.11967 0.111099 0.591346 0.226735 0.104996 0.144809 0.08596 0.155765 0.075005 0.155765 0.075005 0.170772 0.059998 0.151668 0.079102 0.41654 0.044998 0.185771 0.044998 0.401533 0.189813 0.211423 0.120308 0.288462 0.403846 0.302885 0.344417 0.045006 0.170764 0.060005 0.132129 0.09864 0.118671 0.112099 0.401533 0.060005 0.146937 0.083832 0.323286 0.138252 0.389423 0.197889 0.104996 0.155772 0.074997 0.358343 0.103195 0.274038 0.142502 0.044998 0.173077 0.153459 0.135002 0.124492 0.106277 0.341543 0.119995 0.121677 0.109093 0.29225 0.169289 0.129808 0.173413 0.158318 0.216346 0.475962 0.389423 0.05',
        'f0_timestep': '0.',
        'f0_seq': None, # Automatic pitch curve mode
        'input_type': 'phoneme'
    }  
    DiffSingerCascadeInfer.example_run(inp)
